diff --git a/CHANGELOG b/CHANGELOG
index e53b7c5..cca8f58 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,11 +2,17 @@
 Changes for U-Boot 1.1.3:
 ======================================================================
 
+* Fixes for TQM8560 board:
+  - fix clock rates
+  - remove debug messages
+  - fix flash sector protection
+
 * Patch by Steven Scholz, 07 Apr 2005:
   Add i2c_reg_write() and i2c_reg_write() for at91rm9200 I2C
 
-* Patch by Steven Scholz, 07 Apr 2005:
+* Patches by Steven Scholz, 07 Apr 2005:
   Fix compiler warning in altera.c
+  Fix warning in cpu/arm920t/at91rm9200/i2c.c
 
 * Patch by Ladislav Michl, 06 Apr 2005:
   Fix voiceblue configuration.
diff --git a/README b/README
index 5b7df76..c1441fb 100644
--- a/README
+++ b/README
@@ -3081,8 +3081,7 @@
 stage-2 loader which in turn loads and then invokes the kernel
 proper. Loader sources will eventually appear in the NetBSD source
 tree (probably in sys/arc/mpc8xx/stand/u-boot_stage2/); in the
-meantime, send mail to bruno@exet-ag.de and/or wd@denx.de for
-details.
+meantime, see ftp://ftp.denx.de/pub/u-boot/ppcboot_stage2.tar.gz
 
 
 Implementation Internals:
diff --git a/cpu/arm920t/at91rm9200/i2c.c b/cpu/arm920t/at91rm9200/i2c.c
index 2743275..5692740 100644
--- a/cpu/arm920t/at91rm9200/i2c.c
+++ b/cpu/arm920t/at91rm9200/i2c.c
@@ -138,12 +138,12 @@
 
 int
 i2c_write(unsigned char chip, unsigned int addr, int alen,
-							unsigned char *buffer, int len)
+	  unsigned char *buffer, int len)
 {
+#ifdef CFG_I2C_EEPROM_ADDR_OVERFLOW
 	int i;
 	unsigned char *buf;
 
-#ifdef CFG_I2C_EEPROM_ADDR_OVERFLOW
 	/* we only allow one address byte */
 	if (alen > 1)
 		return 1;
diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c
index fe678df..4a1ccb0 100644
--- a/cpu/mpc85xx/cpu.c
+++ b/cpu/mpc85xx/cpu.c
@@ -145,7 +145,7 @@
 	sys_info_t  sys_info;
 
 	get_sys_info(&sys_info);
-	return ((sys_info.freqSystemBus + 3L) / 4L);
+	return ((sys_info.freqSystemBus + 7L) / 8L);
 }
 
 
diff --git a/cpu/mpc85xx/ether_fcc.c b/cpu/mpc85xx/ether_fcc.c
index f78e5b4..c2f88f8 100644
--- a/cpu/mpc85xx/ether_fcc.c
+++ b/cpu/mpc85xx/ether_fcc.c
@@ -135,7 +135,7 @@
 #error "rtx must be 64-bit aligned"
 #endif
 
-#define ET_DEBUG
+#undef ET_DEBUG
 
 static int fec_send(struct eth_device* dev, volatile void *packet, int length)
 {
diff --git a/drivers/cfi_flash.c b/drivers/cfi_flash.c
index 101eb74..2531e9d 100644
--- a/drivers/cfi_flash.c
+++ b/drivers/cfi_flash.c
@@ -48,6 +48,7 @@
 #include <asm/processor.h>
 #include <asm/byteorder.h>
 #include <linux/byteorder/swab.h>
+#include <environment.h>
 #ifdef	CFG_FLASH_CFI_DRIVER
 
 /*
